package com.xique.park.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xique.park.bean.domain.ParkDeviceNew;
import com.xique.park.bean.dto.ParkDeviceStatisticsDto;
import com.xique.park.bean.request.web.ipc.ParkIpcListRequest;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 设备--newMapper接口
 *
 * @author xique
 * @date 2021-12-09
 */
public interface ParkDeviceNewMapper extends BaseMapper<ParkDeviceNew> {

    /**
     * 统计设备在线状态
     *
     * @param province   省编码
     * @param city       市编码
     * @param district   区县编码
     * @param deptId     服务商ID
     * @param parkInfoId 项目ID
     * @return 设备在线状态
     */
    List<ParkDeviceStatisticsDto> selectOnLineStatus(@Param("province") Integer province,
                                                     @Param("city") Integer city,
                                                     @Param("district") Integer district,
                                                     @Param("deptId") Long deptId,
                                                     @Param("parkInfoId") Long parkInfoId);

    List<ParkDeviceNew> getClientDeviceList(String clientId);

    /**
     * 根据条件分页查询设备
     *
     * @param page   分页参数
     * @param search 查询参数
     * @return 分页查询结果
     */
    IPage<ParkDeviceNew> selectParkIpcPage(@Param("page") Page<ParkDeviceNew> page,
                                           @Param("search") ParkIpcListRequest search);
}
